#ifndef _GROUPTLV_H_
#define _GROUPTLV_H_
#include "TLVBase.h"
#include <vector>

class CGroupTLV: public CTLVBase
{
public:
    CGroupTLV();
    virtual ~CGroupTLV();

    virtual uint16_t getLength();
    virtual uint16_t encode(uint8_t* buffer, uint16_t length);

    virtual void setTag(uint16_t tag);
    virtual void add(CTLVBase* tlv);

    virtual CTLVBase* getCGroupTLV();
    virtual CTLVBase* getChild(uint32_t index);

protected:
    TTLVHead m_tlvHead;
    std::vector<CTLVBase*> m_vecTLV;
};
#endif

